/**
*┌──────────────────────────────────────────────────────────────┐
*│　描    述：返佣记录                                                    
*│　作    者：gaotang                                              
*│　版    本：1.0   模板代码自动生成                                              
*│　创建时间：2019-01-30 13:56:19                           
*└──────────────────────────────────────────────────────────────┘
*┌──────────────────────────────────────────────────────────────┐
*│　命名空间： BestTrader.Cms.IServices                                   
*│　接口名称： IRebateRecordRepository                                      
*└──────────────────────────────────────────────────────────────┘
*/
using BestTrader.Cms.Models;
using BestTrader.Cms.ViewModels;
using BestTrader.Cms.ViewModels.WebApi;
using System;
using System.Collections.Generic;
using System.Text;

namespace BestTrader.Cms.IServices
{
    public interface IRebateRecordService
    {
        TableDataModel LoadData(RebateRecordRequestModel model, String user, String role);

        /// <summary>
        /// 导出Excel
        /// </summary>
        /// <param name="model"></param>
        /// <param name="userId"></param>
        /// <param name="roleId"></param>
        /// <returns></returns>
        string ExportExcel(RebateRecordRequestModel model, String userId, String roleId);

        /// <summary>
        /// 首页 返佣记录统计
        /// </summary>
        RebateStatisticsModel GetRebateRecordByAgentId(int managerId, DateTime start, DateTime end,string UserId, string RoleId);
        /// <summary>
        /// APP端统计
        /// </summary>
        /// <param name="managerId"></param>
        /// <param name="start"></param>
        /// <param name="end"></param>
        /// <returns></returns>
        HomeRebateRecordModel GetAppRebateRecordByAgentId(int managerId, DateTime start, DateTime end,string UserId,string RoleId);

        /// <summary>
        /// 获取返佣记录汇总
        /// </summary>
        /// <param name="model"></param>
        /// <param name="userId"></param>
        /// <param name="roleId"></param>
        /// <returns></returns>
        TableDataModel GetTotalByRecordConditions(RebateRecordRequestModel model, String userId, String roleId);

    }
}